Skip to content

Bump JaCoCo to 0.8.13, override Byte Buddy to 1.17.5 for JDK 25 tests#783

Open
Divyansh-db wants to merge 2 commits intomainfrom
fix-mvn
Open

Bump JaCoCo to 0.8.13, override Byte Buddy to 1.17.5 for JDK 25 tests#783
Divyansh-db wants to merge 2 commits intomainfrom
fix-mvn

Conversation

@Divyansh-db
Copy link
Copy Markdown
Contributor

The code-generator's mvn --errors clean test post-generate step on JDK 25 was failing in two waves:

  1. JaCoCo 0.8.10 (pinned in root pom) cannot instrument JDK 25 class file format (version 69), throwing IllegalClassFormatException on every JDK class the surefire JVM loads. Bump to 0.8.13.

  2. Mockito 4.11 transitively pulls Byte Buddy ~1.12 which only supports class file format up to Java 20. Tests that mock anything fail with "Java 25 (69) is not supported by the current version of Byte Buddy". Override the transitive via dependencyManagement to 1.17.5, which supports JDK 25 and stays Java 8 compatible.

Mockito itself stays at 4.11 because 5.x raises the floor to JRE 11, which would break the JDK 8 row in the unit-tests CI matrix.

Verified mvn clean test passes 1325/1325 tests on JDK 8, 11, and 25.

Lockfile regenerated.

Co-authored-by: Isaac

Summary

Why

What changed

Interface changes

Behavioral changes

Internal changes

How is this tested?

The code-generator's `mvn --errors clean test` post-generate step on
JDK 25 was failing in two waves:

  1. JaCoCo 0.8.10 (pinned in root pom) cannot instrument JDK 25 class
     file format (version 69), throwing IllegalClassFormatException on
     every JDK class the surefire JVM loads. Bump to 0.8.13.

  2. Mockito 4.11 transitively pulls Byte Buddy ~1.12 which only
     supports class file format up to Java 20. Tests that mock anything
     fail with "Java 25 (69) is not supported by the current version of
     Byte Buddy". Override the transitive via dependencyManagement to
     1.17.5, which supports JDK 25 and stays Java 8 compatible.

Mockito itself stays at 4.11 because 5.x raises the floor to JRE 11,
which would break the JDK 8 row in the unit-tests CI matrix.

Verified `mvn clean test` passes 1325/1325 tests on JDK 8, 11, and 25.

Lockfile regenerated.

Co-authored-by: Isaac
@Divyansh-db Divyansh-db temporarily deployed to test-trigger-is May 1, 2026 11:12 — with GitHub Actions Inactive
@Divyansh-db Divyansh-db temporarily deployed to test-trigger-is May 1, 2026 11:13 — with GitHub Actions Inactive
Three CI failures from the prior commit, all unrelated to the actual
JDK 25 fix:

- fmt: sortpom alphabetized the new <bytebuddy.version> property in
  databricks-sdk-java/pom.xml. Pure reordering, no semantic change.

- check-lock: my regenerated lockfile contained URLs from my dev box's
  Maven proxy (maven-proxy.dev.databricks.com). The committed lockfile
  on main uses public Maven Central URLs (repo.maven.apache.org/maven2),
  same convention as `make fix-lockfile` enforces for the JFrog mirror.
  Rewrote the 89 occurrences in the child lockfile to match.

- check-next-changelog: added an Internal Changes entry noting the
  JaCoCo and Byte Buddy bumps.

Co-authored-by: Isaac
@Divyansh-db Divyansh-db temporarily deployed to test-trigger-is May 1, 2026 12:08 — with GitHub Actions Inactive
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 1, 2026

If integration tests don't run automatically, an authorized user can run them manually by following the instructions below:

Trigger:
go/deco-tests-run/sdk-java

Inputs:

  • PR number: 783
  • Commit SHA: eaf11740b419b51fc57ab00c94cbc9b1acb02c2d

Checks will be approved automatically on success.

@Divyansh-db Divyansh-db temporarily deployed to test-trigger-is May 1, 2026 12:10 — with GitHub Actions Inactive
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant